package com.senlingspace.system.domain.vo;

import com.senlingspace.common.core.domain.BaseEntity;
import com.senlingspace.common.utils.MoneyUtils;

/**
 * 订单价格快照对象 slkj_order_pricing_snapshot
 *
 * @author SenlingSpace
 * @date 2024-08-01
 */
public class SlkjOrderPricingSnapshotVo extends BaseEntity {
    /**
     * 主键
     */
    private Long id;

    /**
     * 订单表主键
     */
    private Long orderId;

    /**
     * 票档ID
     */
    private Long ticketLevelId;

    /**
     * 票档名称;冗余字段
     */
    private String ticketLevelName;

    /**
     * 票类ID
     */
    private Long ticketCategoryId;

    /**
     * 票类名称;冗余字段
     */
    private String ticketCategoryName;

    /**
     * 票价方案 ID
     */
    private Long fareSchemeId;

    /**
     * 票价方案名称;冗余字段
     */
    private String fareSchemeName;

    /**
     * 票价方案详情 ID
     */
    private Long fareSchemeDetailId;

    /**
     * 门店价;分
     */
    private String shopPrice;

    /**
     * 小程序价;分
     */
    private String miniProgramPrice;

    /**
     * 抖音价;分
     */
    private String douyinPrice;

    /**
     * 原价;分
     */
    private String originalPrice;

    /**
     * 卖品内含数量
     */
    private Integer quantity;

    /**
     * 类型;TICKET或GOODS
     */
    private String itemType;

    /**
     * 商品 ID
     */
    private Long goodsId;

    /**
     * 商品名称;冗余字段
     */
    private String goodsName;

    /**
     * 商品价格;分
     */
    private Integer goodsPrice;

    /**
     * 用户实际要支付的价格;分
     */
    private String userActualAmount;

    /**
     * 用户购买数量
     */
    private Integer bayQuantity;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getTicketLevelId() {
        return ticketLevelId;
    }

    public void setTicketLevelId(Long ticketLevelId) {
        this.ticketLevelId = ticketLevelId;
    }

    public String getTicketLevelName() {
        return ticketLevelName;
    }

    public void setTicketLevelName(String ticketLevelName) {
        this.ticketLevelName = ticketLevelName;
    }

    public Long getTicketCategoryId() {
        return ticketCategoryId;
    }

    public void setTicketCategoryId(Long ticketCategoryId) {
        this.ticketCategoryId = ticketCategoryId;
    }

    public String getTicketCategoryName() {
        return ticketCategoryName;
    }

    public void setTicketCategoryName(String ticketCategoryName) {
        this.ticketCategoryName = ticketCategoryName;
    }

    public Long getFareSchemeId() {
        return fareSchemeId;
    }

    public void setFareSchemeId(Long fareSchemeId) {
        this.fareSchemeId = fareSchemeId;
    }

    public String getFareSchemeName() {
        return fareSchemeName;
    }

    public void setFareSchemeName(String fareSchemeName) {
        this.fareSchemeName = fareSchemeName;
    }

    public Long getFareSchemeDetailId() {
        return fareSchemeDetailId;
    }

    public void setFareSchemeDetailId(Long fareSchemeDetailId) {
        this.fareSchemeDetailId = fareSchemeDetailId;
    }

    public String getShopPrice() {
        return shopPrice;
    }

    public void setShopPrice(String shopPrice) {
        this.shopPrice = shopPrice;
    }

    public String getMiniProgramPrice() {
        return miniProgramPrice;
    }

    public void setMiniProgramPrice(String miniProgramPrice) {
        this.miniProgramPrice = miniProgramPrice;
    }

    public String getDouyinPrice() {
        return douyinPrice;
    }

    public void setDouyinPrice(String douyinPrice) {
        this.douyinPrice = douyinPrice;
    }

    public String getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(String originalPrice) {
        this.originalPrice = originalPrice;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public String getItemType() {
        return itemType;
    }

    public void setItemType(String itemType) {
        this.itemType = itemType;
    }

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public Integer getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(Integer goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public String getUserActualAmount() {
        return userActualAmount;
    }

    public void setUserActualAmount(Integer userActualAmount) {
        String userActualAmountYuan = null;
        if (userActualAmount != null) {
             userActualAmountYuan = MoneyUtils.fen2Yuan(userActualAmount);
        }

        this.userActualAmount = userActualAmountYuan;
    }

    public Integer getBayQuantity() {
        return bayQuantity;
    }

    public void setBayQuantity(Integer bayQuantity) {
        this.bayQuantity = bayQuantity;
    }

    @Override
    public String toString() {
        return "SlkjOrderPricingSnapshot{" +
                "id=" + id +
                ", orderId=" + orderId +
                ", ticketLevelId=" + ticketLevelId +
                ", ticketLevelName='" + ticketLevelName + '\'' +
                ", ticketCategoryId=" + ticketCategoryId +
                ", ticketCategoryName='" + ticketCategoryName + '\'' +
                ", fareSchemeId=" + fareSchemeId +
                ", fareSchemeName='" + fareSchemeName + '\'' +
                ", fareSchemeDetailId=" + fareSchemeDetailId +
                ", shopPrice='" + shopPrice + '\'' +
                ", miniProgramPrice='" + miniProgramPrice + '\'' +
                ", douyinPrice='" + douyinPrice + '\'' +
                ", originalPrice='" + originalPrice + '\'' +
                ", quantity=" + quantity +
                ", itemType='" + itemType + '\'' +
                ", goodsId=" + goodsId +
                ", goodsName='" + goodsName + '\'' +
                ", goodsPrice=" + goodsPrice +
                ", userActualAmount=" + userActualAmount +
                ", bayQuantity=" + bayQuantity +
                '}';
    }

}
